package com.meihuayishu.backend.dto;

import jakarta.validation.constraints.*;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "数字起卦请求")
public class NumberDivinationRequest {
    
    @NotBlank(message = "占卜问题不能为空")
    @Size(max = 200, message = "占卜问题不能超过200字符")
    @Schema(description = "占卜问题", example = "工作发展如何？")
    private String question;
    
    @NotNull(message = "数字不能为空")
    @Size(min = 1, max = 2, message = "数字数组长度必须为1-2个")
    @Schema(description = "数字数组", example = "[1, 8]")
    private List<@Min(1) @Max(999) Integer> numbers;
    
    @Schema(description = "算法类型", allowableValues = {"PLUM_BLOSSOM", "SIX_YAO"}, example = "PLUM_BLOSSOM")
    private String algorithm = "PLUM_BLOSSOM";
}